As is known in the art, modern medical technology provides different modalities for acquiring 3D data, such as computed tomography (“CT”), magnetic resonance imaging (“MRI”), positron emission tomography (“PET”), and ultrasound. The information obtained from different modalities is usually complementary; for example, CT or MRI provides structural (i.e., anatomical) information (dataset) while PET or fMRI provides functional information. Thus, it is generally desirable to fuse or merge these multiple volumetric datasets.
More particularly, oftentimes in scientific and medical data visualization we are confronted with volumetric data that contains a multitude of distinct data values at each spatial location (i.e., voxel), e.g., a data value from MRI and a different data value from PET). It is challenging to manage and visualize this type of data efficiently. Thus, one of the main difficulties with multivariate volume visualizations is the fact that multiple data values are competing for the same space, i.e. in the spatial domain but also in their visual representation such as color and opacity. To tackle this problem of locally competing data values we need to define how the individual color and opacity values assigned to each volume are composited/combined to form a single color and opacity representing all volumes at a given location in space. Performing this task efficiently, i.e. creating visualizations that are easy to read despite the complexity of the data, requires knowledge about the type of volumes and how they relate to each other. The most common tool used to simultaneously display multiple volumes is a fused volume renderer. Previous methods used in fused volume rendering can be categorized into two groups: First, general-purpose fused volume renderers, which provide a tool that can render any kind of input data without knowing anything about the application domain the data is coming from. It is capable of fusing the datasets using simple compositing usually some form of linear blending between the datasets. These type of renderers can be implemented very efficiently as each volume can be treated individually and sampled at its native resolution. Second, on the opposite end of the spectrum we have the special-purpose fused volume renderer. Its advantage is the ability to incorporate domain knowledge and provide a custom tailored solution for a given problem. The problem of special-purpose renderers though is their lack of flexibility. Because they are custom tailored solutions they are difficult to adapt to new domains. Another issue with special-purpose renderers is that the interactivity is often hampered by more complex compositing methods used during rendering. Or the opposite to guarantee interactivity compositing methods had to be kept simple, thus not allowing for the best possible visualization.